/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Servlets;

import Beans.Usuario;
import Daos.UsuarioDao;
import Validador.ValidadorGenerico;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author wbartko
 */
public class ServletAlterarDadosPessoais extends HttpServlet {



    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String email = request.getParameter("email");
        String telefone1 = request.getParameter("telefone");
        String telefone2 = request.getParameter("celular");

        //pega usuario da sessao
        HttpSession sessão = request.getSession(true);
        Usuario usuario = (Usuario) sessão.getAttribute("usuario");

        //mata sessoes invalidas

        sessão.removeAttribute("EmailInvalido");
        sessão.removeAttribute("telefone1Erro");
        sessão.removeAttribute("telefone2Erro");

        //classe que valida todos os usuarios
        //contador para indicar que houve algum erro em preencher os dados
        int contadorErro = 0;
        //validar email
        ValidadorGenerico validadorGenerico = new ValidadorGenerico();

        if (!validadorGenerico.validaCampoVazioOuNulo(email) || !validadorGenerico.validaFormatoDoEmail(email)) {
            System.out.println("Email individuo " + usuario.getEmail());
            contadorErro++;
            sessão.setAttribute("EmailInvalido", "Email Inválido");
            usuario.setEmail("");//manda imprimir  em branco no retorno da pagina
            sessão.setAttribute("usuario", usuario);//atualiza sessao

        } else {
            usuario.setEmail(email);
        }

        if (telefone1 == null || (telefone1 == null ? "" == null : telefone1.equals(""))) {
            contadorErro++;
            sessão.setAttribute("telefone1Erro", "Telefone Inválido");
            usuario.setTelefone1("");//manda imprimir  em branco no retorno da pagina
            sessão.setAttribute("usuario", usuario);//atualiza sessao

        } else {
            usuario.setTelefone1(telefone1);
        }

        if (telefone2 == null || (telefone2 == null ? "" == null : telefone2.equals(""))) {
            contadorErro++;
            sessão.setAttribute("telefone2Erro", "Telefone inválido");
            usuario.setTelefone2("");//manda imprimir  em branco no retorno da pagina
            sessão.setAttribute("usuario", usuario);//atualiza sessao

        } else {
            usuario.setTelefone2(telefone2);
        }

        if (contadorErro > 0) {
            sessão.setAttribute("usuario", usuario);
            response.sendRedirect("formulario_alterarDados.jsp");
        } else {
            sessão.removeAttribute("EmailInvalido");
            sessão.removeAttribute("telefone1Erro");
            sessão.removeAttribute("telefone2Erro");
            //salva dados no banco
            new UsuarioDao(usuario).persist();


            //sessao com os nomes de usuario para pagina welcome
            HttpSession sessao = request.getSession(true);
            sessao.setAttribute("usuario", usuario);

           response.sendRedirect("sucessoAlterarDados.jsp");




        }



    }
}
